﻿using System.Collections.Generic;
using Resn.WhuPub.DML;

namespace Resn.WhuPub.BIL
{
        /// <summary>
        ///定义学科的属性和方法
        /// </summary>
        public interface ISubject : IEntity
        {
                #region 属性

                #region 基本属性

                /// <summary>
                ///获取学科所属门类标识
                /// </summary>
                /// <value>
                ///学科所属门类标识
                /// </value>
                string CategoryId { get; }

                /// <summary>
                ///获取或设置学科的名称
                /// </summary>
                /// <value>
                ///学科的名称
                /// </value>
                string Name { get; set; }

                /// <summary>
                ///获取或设置学科的代码
                /// </summary>
                /// <value>
                ///学科的代码
                /// </value>
                string Code { get; set; }

                #endregion 基本属性

                /// <summary>
                ///获取学科模型
                /// </summary>
                /// <value>
                ///学科模型
                /// </value>
                SubjectModel Model { get; }

                /// <summary>
                ///获取门类
                /// </summary>
                /// <value>
                ///门类
                /// </value>
                ICategory Category { get; }

                /// <summary>
                ///获取专业集合
                /// </summary>
                /// <value>
                ///专业集合
                /// </value>
                List<IMajor> Majors { get; }

                #endregion 属性

                #region 方法

                /// <summary>
                ///创建专业
                /// </summary>
                /// <param name="name">名称</param>
                /// <param name="code">代码</param>
                /// <returns>创建的专业对象</returns>
                IMajor CreateMajor(string name, string code);

                

                #endregion 方法
        }
}